package com.xuecheng.content.service;

import com.xuecheng.commons.model.dto.CourseAuditDto;
import com.xuecheng.commons.model.dto.CourseBaseDto;
import com.xuecheng.commons.model.dto.CourseDto;
import com.xuecheng.commons.model.dto.PageRequest;
import com.xuecheng.commons.model.vo.ResponseResult;
import com.xuecheng.content.domain.CourseBase;
import com.baomidou.mybatisplus.extension.service.IService;
import io.minio.errors.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

/**
 * <p>
 * 课程基本信息 服务类
 * </p>
 *
 * @author itheima
 * @since 2022-07-17
 */
public interface CourseBaseService extends IService<CourseBase> {

    ResponseResult courseList(PageRequest request, CourseDto dto);

    ResponseResult upload(MultipartFile uploadFile) throws Exception;

    ResponseResult saveCourseBase(CourseBaseDto dto);

    ResponseResult updateCourseBase(CourseBaseDto dto);

    ResponseResult deleteCourseBase(Long courseId);

    ResponseResult commit(Long courseBaseId);

    ResponseResult approve(CourseAuditDto dto);

    ResponseResult offline(Long courseId) throws Exception;
}
